package com.pureut.production.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pureut.production.domain.WeighingFinishedMaterialProduct;
import com.pureut.production.domain.dto.PrintDto;
import com.pureut.production.domain.dto.SmallRollFoundationDto;
import com.pureut.production.domain.dto.TraceabilityProductDto;
import com.pureut.production.domain.dto.WeighingFinishedMaterialProductDto;
import com.pureut.production.domain.vo.WeighingFinishedMaterialProductVo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/***
 * 成品称重表mapper
 * Author:C
 * Date:2023/02/24 13:58
 * @DESC
 */
@Mapper
public interface WeighingFinishedMaterialProductMapper extends BaseMapper<WeighingFinishedMaterialProduct> {

    /**
     * 成品称重列表
     */
    List<WeighingFinishedMaterialProductDto> getList(WeighingFinishedMaterialProductVo weighingFinishedMaterialProductVo);

    /**
     * 单据明细下方列表
     */
    List<WeighingFinishedMaterialProductDto> getViewList(String splittingOrderNumber);

    /**
     * 根据id获取明细数据
     */
    WeighingFinishedMaterialProductDto getViewById(Long id);

    /**
     * 产出统计列表
     */
    List<WeighingFinishedMaterialProductDto> getOutputStatisticsList(String splittingOrderNumber);

    /**
     * 根据产品号码获取详情(feign调用)
     */
    WeighingFinishedMaterialProductDto getWeighingFinishedData(String materialNumber);

    /**
     * 根据产品号码获取详情(feign调用)
     */
    WeighingFinishedMaterialProductDto getFinishedData(String materialNumber);

    /**
     * 根据产品号码查出产品信息
     * @param materialNumber
     * @return
     */
    PrintDto selectPrintInfo(String materialNumber);

    /**
     * 根据母卷号码查出幅宽，卷长，卷径，克重，接头
     */
    PrintDto getPrintInfo(String mj);

    /**
     * 根据母卷号码查询成品称重详情（产品追溯feign）
     */
    List<TraceabilityProductDto> selectWeighingFinishedMaterialProductList(String masterVolumeNumber);

    /**
     * 通过小卷号码查询成品称重信息（产品追溯小卷基础信息）
     * @param smallVolumeNumber
     * @return
     */
    SmallRollFoundationDto selectBySmallVolumeNumber(String smallVolumeNumber);
}
